package cn.iocoder.yudao.module.dify.service.difyChat;

import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import io.github.imfangs.dify.client.exception.DifyApiException;
import io.github.imfangs.dify.client.model.chat.AppParametersResponse;
import io.github.imfangs.dify.client.model.chat.ConversationListResponse;
import io.github.imfangs.dify.client.model.chat.MessageListResponse;
import reactor.core.publisher.Flux;

import java.io.IOException;

/**
 * Dify文件处理跟踪 Service 接口
 *
 * @author 芋道源码
 */
public interface DifyChatRobotService {

    AppParametersResponse getAppParameters(Long userId) throws DifyApiException, IOException;

    String chatRobotCreat(Long userId) throws DifyApiException, IOException;

    Flux<CommonResult<String>> chatRobotStreaming(String conversationDifyId, String query, Long userId) throws DifyApiException, IOException;

    ConversationListResponse chatConversationList(Long userId) throws DifyApiException, IOException;

    MessageListResponse chatMessageList(String conversationDifyId, Long userId) throws DifyApiException, IOException;

    Boolean deleteDifyConversation(String conversationDifyId, Long userId) throws DifyApiException, IOException;

    Boolean difyConversationRename(String conversationDifyId, Long userId, String name) throws DifyApiException, IOException;


}